package com.skyline.wo.service;

import java.util.List;

import com.skyline.base.type.Activity;
import com.skyline.wo.model.Category;

public interface CategoryService {

	/**
	 * 插入日志分类记录
	 * 
	 * @param ownerId
	 *            创建人Id
	 * @param ownerPortrait
	 *            创建人头像
	 * @param ownerNickname
	 *            创建人昵称
	 * @param categoryName
	 *            分类名
	 * @param activity
	 *            状态
	 * @return null
	 */
	public boolean createCategory(Long ownerId, String ownerPortrait,
			String ownerNickname, String categoryName, Activity activity);
	
	/**
	 * 插入默认日志分类记录
	 * 
	 * @param ownerId
	 *            创建人Id
	 * @param ownerPortrait
	 *            创建人头像
	 * @param ownerNickname
	 *            创建人昵称
	 * @return null
	 */
	public void createDefaultCategory(Long ownerId, String ownerPortrait,
			String ownerNickname);
	
	/**
	 * 查询日志分类记录
	 * 
	 * @param wnerId
	 *            创建人Id
	 * @param authority
	 *            所请求的用户对于被请求的用户的访问权限
	 * @return List<Category>
	 */
	public List<Category> getCategoryByOwnerId(Long ownerId);
	
	/**
	 * 查询日志分类记录
	 * 
	 * @param categoryId
	 *            分类的Id
	 * @param authority
	 *            所请求的用户对于被请求的用户的访问权限
	 * @return Category
	 */
	public Category getCategoryById(Long categoryId);
	
	/**
	 * 修改日志分类记录
	 * 
	 * @param id
	 *            分类id
	 * @param categoryName
	 *            分类名
	 * @return null
	 */
	public boolean modifyCategory(Long id,  String categoryName,Long ownerId);
	
	/**
	 * 删除日志分类记录
	 * 
	 * @param id
	 *            分类Id
	 * @param authority
	 *            请求者对于此分类的权限
	 * @return null
	 */
	public void deleteCategory(Long id,Long actioner, Integer authority);

}
